package com.zhuhjay.support.jackson;

import cn.hutool.core.util.StrUtil;

/**
 * @author ZhuHJay
 * @date 2023/2/12 17:37
 */
public interface JsonDesensitizationSupport {
    /**
     * 脱敏
     * @param source 源字符串
     * @param length 脱敏长度
     * @param replaceStr 脱敏替换字符串
     * @return 脱敏后的字符串
     */
    String desensitization(String source, int length, String replaceStr);

    /**
     * 进行正则替换
     * @param source 资源
     * @param reg 正则
     * @param replaceStr 覆盖符号
     * @param length 覆盖长度
     * @return 替换后的结果
     */
    default String replace(String source, String reg, String replaceStr, int length) {
        return source.replaceAll(reg, StrUtil.repeat(replaceStr, length));
    }
}
